package com.hyper_yang.javase.learnException.handleMethods;

import org.junit.jupiter.api.Test;

/**
 * 声明异常:
 *    运行时异常，是在程序运行起来后，才可能出现的异常，这种异常可以无需声明
 *    编译时异常，是在代码编写完成之后，编译时，会进行一个警告的提示，这个方法可能会有异常，我不能解决。
 * throws 方法的形参列表的后边
 *    当方法出现的异常是自己的代码运行过程中出现的异常，自己处理 try-catch-finally
 *    当方法是被其他人调用，需要传入数据，数据可能会导致方法出现异常，向上声明
 */
public class ThrowsTest {

    @Test
    public void test01() {
        try {
            m1(100); // 还可以继续向上抛
        } catch (ClassNotFoundException e) {
            System.out.println(e.getMessage());
        }
    }

    public void m1(int num) throws ClassNotFoundException{
        if (num > 100) {
            throw new RuntimeException("数字太大了");
        }
    }
}
